-- card: 23330 from stack: in.2r -- bmap block id: 0 -- flags: 0000 -- background id: 14090 -- name: CompactStacks -- part 1 (button) -- low flags: 00 -- high flags: A003 -- rect: left=189 top=250 right=282 bottom=340 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: Compact Stacks ----- HyperTalk script ----- on mouseUp if the optionkey is down then pass mouseup put "Select stack to be compacted. 'Cancel' when finished" repeat forever put filename("STAK") into compactThis if compactThis is empty then hide message exit mouseup end if if the freesize of compactThis =0 then beep put "No wasted space in this stack" else set cursor to 4 put "Compacting the stack by "&(the freesize of compactThis)&" bytes" push this card set lockscreen to true set lockmessages to true go to compactThis domenu compact stack pop card set lockscreen to false set lockmessages to false put "Select stack to be compacted. 'Cancel' when finished" end if end repeat hide message end mouseUp -- part 2 (field) -- low flags: 00 -- high flags: 0007 -- rect: left=69 top=90 right=242 bottom=485 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 0 -- font id: 3 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: -- part contents for background part 5 ----- text ----- 7 -- part contents for background part 12 ----- text ----- CompactStacks -- part contents for card part 2 ----- text ----- This will let you select stacks from a standard dialog box, and automatically compact them if they need compacting.